package controller

import (
	"Gin-Server-01/com/server/common"
	"Gin-Server-01/com/server/core/logs"
	"Gin-Server-01/com/server/core/tools/times"
	"github.com/gin-gonic/gin"
	"net/http"
)

//func example(r *gin.Engine) gin.HandlerFunc {
//	return func(c *gin.Context) {
//	}
//}

func example(r *gin.Engine) gin.HandlerFunc {
	return func(c *gin.Context) {
	}
}

// TestLogin 处理用户登录的API
// @Tags http
// @Summary 处理用户登录
// @Description 根据提供的用户名和密码进行用户登录测试，若用户名和密码匹配，则生成token和cookie，并返回登录成功信息；否则不执行任何操作。
// @ID TestLogin
// @Accept  json
// @Produce  json
// @Param username formData string true "用户名"
// @Param password formData string true "密码"
// @Router /testLogin [post]
func TestLogin(r *gin.Engine) {
	r.POST("/testLogin", func(c *gin.Context) {
		username := c.PostForm("username")
		password := c.PostForm("password")

		if username == common.TestUserName && password == common.TestUserPassword {
			//生成token和cookie
			token := common.LoginIsOK(c, common.LoginUser{
				ClientIp: c.ClientIP(),
				Username: common.TestUserName,
				Password: common.TestUserPassword,
			})
			c.JSON(http.StatusOK, gin.H{
				//todo:登录成功跳转的页面
				"url":    "/index",
				"header": token,
			})
		}
		logs.Blue(username)
		logs.Blue(password)
	})

}

// WellComeIndexPage
// @BasePath /
// @Tags http
// @Summary 欢迎界面
// @Description 当进入此界面说明框架运行成功
// @Success 200 {string} string "欢迎"
// @Schemes http, https
// @Router / [get]
func WellComeIndexPage(r *gin.Engine) {
	r.GET("/", func(c *gin.Context) {

		c.HTML(http.StatusOK, "index.html", gin.H{
			"date": times.FormatDateTime(),
		})

	})
}
